package com.dajingling.dao;

import com.dajingling.bean.UserAdmin;
import com.dajingling.exception.DuplicateCodeException;

import java.util.List;
import java.util.Map;


public interface BaseUserAdminDao {
    /**
     *查询数据库全部用户（总数，新增）
     * @return {size:总数,day:新增}
     */
    Map<String, Integer> console();

    /**
     * 查询所有用户
     * @param limit 分页：true，查询所有快递：false
     * @param offset SQL的起始索引
     * @param pageNumber 页查询数量
     * @return 用户列表
     */
    List<UserAdmin> findAll(boolean limit, int offset, int pageNumber);

    /**
     * 根据用户的手机号，查询用户信息
     * @param userPhone 电话号码
     * @return 用户类，不存在：null
     */
    UserAdmin findByUserPhone(String userPhone);

    /**
     * 用户录入
     * @param userAdmin 要录入的用户对象
     * @return true，false
     */
    boolean insert(UserAdmin userAdmin);

    /**
     * 根据电话，用户信息修改
     * @param userPhone 用户号码
     * @param newUserAdmin 新的用户对象（username，password，userPhone，idcard）
     * @return true，false
     */
    boolean update(String userPhone, UserAdmin newUserAdmin);

    /**
     * 根据userPhone，用户删除
     * @param userPhone 用户手机号
     * @return true，false
     */
    boolean delete(String userPhone);
}
